oil_consumption1 <- read_excel("../data/coal-consumption-per-TBD.xlsx")
 # change the class of the columns to numeric 
vec<- seq(2,57,1)
oil_consumption1[ , vec] <- apply(oil_consumption1[ , vec,drop=F], 2,           
                                 function(x) as.numeric(as.character(x)))
# Tidy my data 
oil_consumption1 <- oil_consumption1 %>% 
  pivot_longer(-c(country, per_region), names_to = "year", values_to = "oil_comsumption_in_EJ")

# therefore we will do a back fill 
oil_consumption1 <- oil_consumption1 %>% fill(oil_comsumption_in_EJ, .direction = "up")
sum(is.na(oil_consumption1))
head(oil_consumption1)
consumption_ts1 <- oil_consumption1 %>% group_by(year) %>% summarise(Total_Consumption = sum(oil_comsumption_in_EJ)) %>% 
  select(Total_Consumption = Total_Consumption) %>%
ts(, start = c(1965), frequency = 1)
autoplot(consumption_ts1)


fit_ets<- ets(consumption_ts1) #Residual sd: 0.0304
print(summary(fit_ets))
ETS(M,Ad,N) 

Call:
 ets(y = consumption_ts1) 

  Smoothing parameters:
    alpha = 0.9999 
    beta  = 0.734 
    phi   = 0.8072 

  Initial states:
    l = 34339.7939 
    b = 2587.7161 

  sigma:  0.0258

     AIC     AICc      BIC 
1068.659 1070.373 1080.811 

Training set error measures:
                   ME     RMSE      MAE       MPE     MAPE      MASE        ACF1
Training set 68.93457 1842.253 1103.765 0.1914642 1.636543 0.6527757 0.009104651
checkresiduals(fit_ets)

    Ljung-Box test

data:  Residuals from ETS(M,Ad,N)
Q* = 5.3574, df = 5, p-value = 0.3738

Model df: 5.   Total lags used: 10

# forcast
fcs_cons <- forecast(fit_ets, h= 10)
autoplot(fcs_cons)

print(summary(fcs_cons))

Forecast method: ETS(M,Ad,N)

Model Information:
ETS(M,Ad,N) 

Call:
 ets(y = consumption_ts1) 

  Smoothing parameters:
    alpha = 0.9999 
    beta  = 0.734 
    phi   = 0.8072 

  Initial states:
    l = 34339.7939 
    b = 2587.7161 

  sigma:  0.0258

     AIC     AICc      BIC 
1068.659 1070.373 1080.811 

Error measures:
                   ME     RMSE      MAE       MPE     MAPE      MASE        ACF1
Training set 68.93457 1842.253 1103.765 0.1914642 1.636543 0.6527757 0.009104651

Forecasts:
plot_forecast(fcs_cons)

forcast_con <- fortify(fcs_cons) 
forcast_con[1:56, 3]
 [1] 36428.61 37303.60 39552.37 41622.50 44658.25 47984.71 51250.18 53019.23 56535.14 60810.82 56505.34 55424.15 60864.24 62474.37
[15] 65538.60 65594.35 59892.80 58117.62 56792.50 57597.24 59828.02 59902.98 62447.21 63672.90 65970.42 66849.04 66870.95 66670.57
[29] 68039.15 67464.03 69981.10 71279.98 72785.29 75427.82 74682.72 76811.93 77147.75 78021.71 78894.50 81041.77 84653.75 84668.86
[43] 85438.92 86797.75 84367.64 82924.23 88110.76 88430.87 89439.04 90985.03 91299.28 94169.90 95622.32 97384.34 98231.20 98003.47
dim(forcast_con)
[1] 66  8
consumption_df <- data.frame(date  = forcast_con$Index, consumption = c(forcast_con [ 1:56, 3], forcast_con [ 57:nrow(forcast_con), 4]))
model <- consumption_df
# 
# model %>% 
#   ggplot(aes(x=date, y= consumption))+
#   geom_line()
# plot_forecast(fcs_cons)
Error in sliderInput("cr_wieght", label = "wieght:", min = 0, max = 10,  : 
  could not find function "sliderInput"
LS0tDQpydW50aW1lOiBzaGlueSANCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCjwhLS0gVG9kYXkgSSBsZWFybmVkIGhvdyB0byBydW4gc2hpbnkgbG9jYWxseSBhcyB3aWxsIGFuZCBtYWtpbmcgaW50ZXJhY3RpdmUgcGxvdCB0aGF0IHdvdWxkIGhlbHAgbWUgaW1wbGVtZW50IG15IGFzc3VtcHRpb24gb24gbXkgY2Fwc3RvbmUgaWRlYSAgLS0+DQpgYGB7ciBlY2hvPUZBTFNFfQ0KbGlicmFyeShUU3N0dWRpbykNCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShmb3JlY2FzdCkNCmxpYnJhcnkoZHlncmFwaHMpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkocmVhZHhsKQ0KbGlicmFyeSh0aWR5cXVhbnQpDQpsaWJyYXJ5KG1pY2UpDQpsaWJyYXJ5KHZpc2RhdCkNCmxpYnJhcnkobmFuaWFyKQ0KbGlicmFyeShwbG90bHkpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KHRpZHltb2RlbHMpDQpsaWJyYXJ5KGdnZm9ydGlmeSkNCmBgYA0KDQpgYGB7cn0NCm9pbF9jb25zdW1wdGlvbjEgPC0gcmVhZF9leGNlbCgiLi4vZGF0YS9jb2FsLWNvbnN1bXB0aW9uLXBlci1UQkQueGxzeCIpDQogIyBjaGFuZ2UgdGhlIGNsYXNzIG9mIHRoZSBjb2x1bW5zIHRvIG51bWVyaWMgDQp2ZWM8LSBzZXEoMiw1NywxKQ0Kb2lsX2NvbnN1bXB0aW9uMVsgLCB2ZWNdIDwtIGFwcGx5KG9pbF9jb25zdW1wdGlvbjFbICwgdmVjLGRyb3A9Rl0sIDIsICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHgpIGFzLm51bWVyaWMoYXMuY2hhcmFjdGVyKHgpKSkNCiMgVGlkeSBteSBkYXRhIA0Kb2lsX2NvbnN1bXB0aW9uMSA8LSBvaWxfY29uc3VtcHRpb24xICU+JSANCiAgcGl2b3RfbG9uZ2VyKC1jKGNvdW50cnksIHBlcl9yZWdpb24pLCBuYW1lc190byA9ICJ5ZWFyIiwgdmFsdWVzX3RvID0gIm9pbF9jb21zdW1wdGlvbl9pbl9FSiIpDQoNCiMgdGhlcmVmb3JlIHdlIHdpbGwgZG8gYSBiYWNrIGZpbGwgDQpvaWxfY29uc3VtcHRpb24xIDwtIG9pbF9jb25zdW1wdGlvbjEgJT4lIGZpbGwob2lsX2NvbXN1bXB0aW9uX2luX0VKLCAuZGlyZWN0aW9uID0gInVwIikNCnN1bShpcy5uYShvaWxfY29uc3VtcHRpb24xKSkNCg0KYGBgDQoNCg0KYGBge3J9DQpoZWFkKG9pbF9jb25zdW1wdGlvbjEpDQpjb25zdW1wdGlvbl90czEgPC0gb2lsX2NvbnN1bXB0aW9uMSAlPiUgZ3JvdXBfYnkoeWVhcikgJT4lIHN1bW1hcmlzZShUb3RhbF9Db25zdW1wdGlvbiA9IHN1bShvaWxfY29tc3VtcHRpb25faW5fRUopKSAlPiUgDQogIHNlbGVjdChUb3RhbF9Db25zdW1wdGlvbiA9IFRvdGFsX0NvbnN1bXB0aW9uKSAlPiUNCnRzKCwgc3RhcnQgPSBjKDE5NjUpLCBmcmVxdWVuY3kgPSAxKQ0KYXV0b3Bsb3QoY29uc3VtcHRpb25fdHMxKQ0KDQpmaXRfZXRzPC0gZXRzKGNvbnN1bXB0aW9uX3RzMSkgI1Jlc2lkdWFsIHNkOiAwLjAzMDQNCnByaW50KHN1bW1hcnkoZml0X2V0cykpDQpjaGVja3Jlc2lkdWFscyhmaXRfZXRzKQ0KDQojIGZvcmNhc3QNCmZjc19jb25zIDwtIGZvcmVjYXN0KGZpdF9ldHMsIGg9IDEwKQ0KYXV0b3Bsb3QoZmNzX2NvbnMpDQpwcmludChzdW1tYXJ5KGZjc19jb25zKSkNCnBsb3RfZm9yZWNhc3QoZmNzX2NvbnMpDQoNCmZvcmNhc3RfY29uIDwtIGZvcnRpZnkoZmNzX2NvbnMpIA0KZm9yY2FzdF9jb25bMTo1NiwgM10NCmRpbShmb3JjYXN0X2NvbikNCg0KY29uc3VtcHRpb25fZGYgPC0gZGF0YS5mcmFtZShkYXRlICA9IGZvcmNhc3RfY29uJEluZGV4LCBjb25zdW1wdGlvbiA9IGMoZm9yY2FzdF9jb24gWyAxOjU2LCAzXSwgZm9yY2FzdF9jb24gWyA1Nzpucm93KGZvcmNhc3RfY29uKSwgNF0pKQ0KbW9kZWwgPC0gY29uc3VtcHRpb25fZGYNCiMgDQojIG1vZGVsICU+JSANCiMgICBnZ3Bsb3QoYWVzKHg9ZGF0ZSwgeT0gY29uc3VtcHRpb24pKSsNCiMgICBnZW9tX2xpbmUoKQ0KIyBwbG90X2ZvcmVjYXN0KGZjc19jb25zKQ0KYGBgDQoNCmBgYHtyIGVjaG89RkFMU0V9DQojIHNsaWRlcklucHV0KCJjcl93aGVuIiwgbGFiZWwgPSAiV2hlbjoiLCANCiMgICAgICAgICAgICAgbWluID0gMCwgbWF4ID0gMTIwLCB2YWx1ZSA9IDAsIHN0ZXAgPSAwLjIpDQpzbGlkZXJJbnB1dCgiY3Jfd2llZ2h0IiwgbGFiZWwgPSAid2llZ2h0OiIsIA0KICAgICAgICAgICAgbWluID0gMCwgbWF4ID0gMTAsIHZhbHVlID0gMCwgc3RlcCA9IDAuMDUpDQpzbGlkZXJJbnB1dCgiY3JfbGlrZWxpaG9vZCIsIGxhYmVsID0gImxpa2VsaWhvb2Q6IiwgDQogICAgICAgICAgICBtaW4gPSAwLCBtYXggPSAxLCB2YWx1ZSA9IDAsIHN0ZXAgPSAwLjA1KQ0KYGBgDQoNCmBgYHtyIGVjaG89RkFMU0V9DQpyZW5kZXJQbG90KHsNCiAgDQpjcmlzaXMgPC0gbGlzdCh3aGVuID0gNTgsDQogICAgICAgICAgICAgICB3aWVnaHQgPSBpbnB1dCRjcl93aWVnaHQsDQogICAgICAgICAgICAgICBsaWtlbGlob29kID0gaW5wdXQkY3JfbGlrZWxpaG9vZCkNCg0KDQoNCg0KaGVhZChtb2RlbCkNCiMgbGVhdmUNCiMgbW9kZWxbMTo1NywgMl0NCg0KI2FkanVzdA0KbW9kZWxbNTcsIDJdIDwtIDk2NjAwDQptb2RlbFs1OCwgMl0gPC0gOTk5MDANCm1vZGVsWzU5LCAyXSA8LSAxMDE3MDANCm1vZGVsWzYwLCAyXSA8LSAxMDI1MDANCm1vZGVsWzYxLCAyXSA8LSAxMDMwMDANCm1vZGVsWzYyLCAyXSA8LSAxMDM1MDANCm1vZGVsWzYzLCAyXSA8LSAxMDQxMDANCm1vZGVsWzY0LCAyXSA8LSAxMDQ4MDANCm1vZGVsWzY1LCAyXSA8LSAxMDU2MDANCm1vZGVsWzY2LCAyXSA8LSAxMDYwMDANCiMgbW9kZWxbY3Jpc2lzJHdoZW46bnJvdyhtb2RlbCksIDJdIDwtIG1vZGVsWzU4Om5yb3cobW9kZWwpLCAyXSArIHNlcSgyMCwxMDAsMTApICMgKyBjcmlzaXMkbGlrZWxpaG9vZCNjcmlzaXMkd2llZ2h0ICMobW9kZWxbY3Jpc2lzJHdoZW46bnJvdyhtb2RlbCksIDJdKSAgICNjcmlzaXMkd2llZ2h0ICogY3Jpc2lzJGxpa2VsaWhvb2QNCg0KcGxvdChtb2RlbCwgdHlwZT0gImwiKQ0KICANCiAgDQogIA0KfSkNCiAgDQpgYGANCg0K